const  Round =qguan( "round")
const  Block =qguan( "block")
const  Row =qguan("row")

/**
 * 数据包解析器
 */
export default class Wordr extends Round{

    /**
     * 第一个块是用来装载基本信息，
     * 比如，这个模块叫什么，
     * 目录起始块到结束块，（通常目录丢到最后）
     */
    constructor(){
        super()
        this.list.push(new Block())
        this.list[0].list.push(new Row());

        for(let i=0;i<2;i++){
            this.addData(new Row(),new Block())
        }
    }

    addData(row,data){
        this.list[0].list.push(row);
        this.list.push(data)
        return this.list.length-1;
    }
    saveRow(id,row){
        this.list[0].list[id]=row;
    }
    findRow(id){
        return  this.list[0].list[id]
    }
    blockAddRow(id,row){
        this.list[id].list.push(row);
        return this.list[id].list.length-1;
    }
    blockFindRow(bid,id){
        return  this.list[bid].list[id]
    }
    blockSaveRow(bid,id,row){
        this.list[bid].list[id]=row;
    }





    /**
     * 修改 row 的值
     * @param rowId
     * @param linkId
     * @param value
     */
    saveRowValue(rowId,linkId,value){

        let _this=this;
        let row=this.findRow(rowId)
        row.save(linkId,value)
        this.saveRow(linkId,row)

    }

    /**
     *
     * @param RoundId
     * @param BlockId
     * @param RowId
     * @param id
     */
    findRoundData(fileId,blockId,rowId,func) {
        let _this = this;
        if (fileId != null) {

            return _this.list[fileId].findData(fileId,blockId,rowId, func)

        }
        return func(fileId, blockId, rowId, _this);
    }

}